/*
 *  Constants.h
 *  TuiTe
 *
 *  Created by 张 霄鹤 on 10-3-12.
 *  Copyright 2010 xhzhang. All rights reserved.
 *
 */

/**
 * TwitterClient需要用到的 API 常量
 */

// api format
#define FORMAT_TYPE_XML 0
#define FORMAT_TYPE_JSON 1
#define FORMAT_TYPE_RSS 2
#define FORMAT_TYPE_ATOM 3
#define FORMAT_TYPE_NONE 4

// api category
#define CATEGORY_STATUS 0
#define CATEGORY_USERS 1
#define CATEGORY_DIRECT_MESSAGES 2
#define CATEGORY_FRIENDSHIPS 3
#define CATEGORY_SOCIAL_GRAPH 4
#define CATEGORY_ACCOUNT 5
#define CATEGORY_FAVORITE 6
#define CATEGORY_NOTIFICATION 7
#define CATEGORY_BLOCKS 8
#define CATEGORY_HELP 9
#define CATEGORY_OAUTH 10
#define CATEGORY_SPAM_REPORT 11
#define CATEGORY_SEARCH 12
#define CATEGORY_USER_LIST 13

// statuses
#define METHOD_STATUSES_DESTORY 0
#define METHOD_STATUSES_FOLLOWERS 1
#define METHOD_STATUSES_FRIENDS 2
#define METHOD_STATUSES_FRIENDS_TIMELINE 3
#define METHOD_STATUSES_PUBLIC_TIMELINE 4
#define METHOD_STATUSES_REPLIES 5
#define METHOD_STATUSES_SHOW 6
#define METHOD_STATUSES_UPDATE 7
#define METHOD_STATUSES_USER_TIMELINE 8
// Come soon
#define METHOD_STATUSES_HOME_TIMELINE 9
#define METHOD_STATUSES_RETWEETED_BY_ME 10
#define METHOD_STATUSES_RETWEETED_TO_ME 11
#define METHOD_STATUSES_RETWEETS_OF_ME 12
#define METHOD_STATUSES_RETWWEET 13
#define METHOD_STATUSES_RETWEETSS 14
#define METHOD_STATUSES_MENTIONS 15

// users
#define METHOD_USERS_SHOW 0
#define METHOD_USERS_SEARCH 1

// direct_messages
#define METHOD_DIRECT_MESSAGES 0
#define METHOD_DIRECT_MESSAGES_DESTROY 1
#define METHOD_DIRECT_MESSAGES_NEW 2
#define METHOD_DIRECT_MESSAGES_SENT 3

// friendship
#define METHOD_FRIENDSHIP_CREATE 0
#define METHOD_FRIENDSHIP_DESTROY 1
#define METHOD_FRIENDSHIP_EXISTS 2
#define METHOD_FRIENDSHIP_SHOW 3

// CATEGORY_SOCIAL_GRAPH
#define METHOD_FRIENDS 0
#define METHOD_FOLLOWERS 1

// Account
#define METHOD_ACCOUNT_END_SESSION 0
#define METHOD_ACCOUNT_RATE_LIMIT_STATUS 1
#define METHOD_ACCOUNT_UPDATE_DELIVERY_DEVICE 2
#define METHOD_ACCOUNT_UPDATE_LOCATION 3
#define METHOD_ACCOUNT_UPDATE_PROFILE 4
#define METHOD_ACCOUNT_UPDATE_PROFILE_BACKGROUND_IMAGE 5
#define METHOD_ACCOUNT_UPDATE_PROFILE_COLORS 6
#define METHOD_ACCOUNT_UPDATE_PROFILE_IMAGE 7
#define METHOD_ACCOUNT_VERIFY_CREDENTIALS 8

// favorite
#define METHOD_FAVORITES 0
#define METHOD_FAVORITES_CREATE 1
#define METHOD_FAVORITES_DESTROY 2

// notification
#define METHOD_NOTIFICATIONS_FOLLOW 0
#define METHOD_NOTIFICATIONS_LEAVE 1

// blocks
#define METHOD_BLOCKS_CREATE 0
#define METHOD_BLOCKS_DESTROY 1
#define METHOD_BLOCKS_EXISTS 2
#define METHOD_BLOCKS_BLOCKING 3
#define METHOD_BLOCKS_BLOCKING_IDS 4

// help
#define METHOD_HELP_TEST 0

// oauth
#define METHOD_OAUTH_REQUEST_TOKEN 0
#define METHOD_OAUTH_AUTHORIZE 1
#define METHOD_OAUTH_AUTHENTICATE 2
#define METHOD_OAUTH_ACCESS_TOKEN 3

// spam report
#define METHOD_SPAM_REPORT 0

#define METHOD_SEARCH_KEYWORD 0
#define METHOD_SEARCH_TREND 1
#define METHOD_SEARCH_TREND_CURRENT 2
#define METHOD_SEARCH_TREND_DAILY 3
#define METHOD_SEARCH_TREND_WEEKLY 4

// List /user/list
#define METHOD_USER_LIST_LISTS 0
#define METHOD_USER_LIST_LISTS_ID_STATUSES 1
#define METHOD_USER_LIST_LISTS_MEMBERSHIPS 2
#define METHOD_USER_LIST_LISTS_SUBSCRIPTIONS 3

#define METHOD_USER_LIST_ID_MEMBERS 4
#define METHOD_USER_LIST_ID_SUBSCRIBERS 5


// api http method
#define HTTP_API_GET 0
#define HTTP_API_POST 1
#define HTTP_API_DELETE 2
#define HTTP_API_HEAD 3

// auth type
#define AUTH_TYPE_NONE 0
#define AUTH_TYPE_BASIC 1
#define AUTH_TYPE_OAUTH 2

#define REQ_CONSUMER_KEY @"ck"
#define REQ_TOKEN @"tk"
#define REQ_TOKEN_SECRET @"tks"
#define REQ_CALLBACK @"cb"
#define REQ_VERIFIER @"ve"
#define REQ_CONSUMERSECRET @"cs"

